The development of the EDVAC computer system in 1948 is often cited as the beginning of the computer era. Since that time, computers have become indispensable in many fields of human endeavor including engineering design, machine control, process control, and information storage and access. Each computer includes processing units, memory units, a means for receiving input signals and a means for transmitting output signals. Computers used as workstations also include apparatus for user input such as a keyboard and mouse, and apparatus for providing information to the user such as a display screen and a printer. The memory provides instruction signals and other data to the processor to control the operation of the computer. The data is transmitted between the memory and processor through multiple parallel wires called a bus. The processor executes the instruction signals and transmits at least some of the resulting data signals back to the memory for storage.
In digital computers, data is processed and stored in binary form. Binary refers to a number system in which all digits are either 0 or 1. Signals are usually transmitted within the computer as voltage levels. For example, a low potential such as 0 volts may be used as a zero and a higher potential such as 3 volts may be used as a one. Data signals are stored in computer memory using static switches (transistor states or capacitive charges) called bits that are set to either on or off (or high or low) to represent either 0 or 1. Since numbers in a digital computer are transmitted in binary form and stored in switches that are either on or off, the use of binary numbers results in a simpler design, more efficient storage, and faster operation than a computer based on decimal numbers.
For example, decimal one (1d) may be stored as binary 0001 (1b) and decimal two (2d) is stored as binary 0010 (10b); and thus 3d is stored as 0011b (2d+1d). Similarly, since 4d is stored as 100b, then 7d (4d+2d+1d) is stored as 0111b.
The storage of data signals in computer memory is known as "writing to the memory", and the generation of data signals by the computer memory is known as "reading from the memory". When data is written to memory, the switches are set to represent the numeric value of the data that is written and then the data signals can be read from the memory by detecting the settings of the switches and generating corresponding data signals. The bits are grouped together into bytes consisting of 8 bits and words, or cells of 2, to 8 bytes to form one or more larger numbers. Characters (letters, numerals, punctuation marks, symbols) are represented by numbers (e.g. 0-255) that can be stored in one byte.
In early computers, a type of memory known as core was used. This consisted of individual rings (cores) of ferrite in an array connected by wires to electronic writing and sensing circuits. Data was stored by applying a current to set the magnetic polarity of one of the rings. The polarity of the magnetic field of each ring represented either a zero or a one. In modern computers the use of core memory has been replaced by transistor and capacitance based electronic memory.
There are several common types of electronic memory used in computer systems. Dynamic memory is a type of memory which must be refreshed. Refreshing consists of reading the value in the memory and then writing the same value to the memory. Dynamic memory usually consists of capacitive elements (gates of FETs or capacitors) that can be isolated or accessed using transistor switches. Static memory is another common type of memory. Static memory does not have to be refreshed. The stored values remain in storage as long as the memory is receiving electrical power. Static memory usually consists of several transistors forming a circuit which can be switched to operate in either of two stable states.
Permanent memory (non-volatile memory) is a type of memory which does not require external power to maintain data. The permanent memory may be manufactured with connections and opens that can not be changed (known as read only memory ROM); or the permanent memory may be programmable once using high voltages to burn out connections to form opens (programmable read only memory PROM); or the PROM may be bulk re-writable using ultraviolet light or high currents applied to one pin to erase the entire memory of the chip and written by applying a high voltage signal to charge floating gates to write data; or the permanent memory may be electrically re-writable such as electrically erasable PROM (EEPROM) in which each word may be individually rewritten. For example, low power static or dynamic memory may be made permanent by including batteries in the package with the memory. Flash memory is another common type of permanent memory which uses ferromagnetic capacitors to store charges. The flash memory is written by a higher potential difference, and when read outputs a lower potential difference.
Previous patents related to electronic memory include U.S. Pat. Nos. 5,572,459 to Wilson, 4,598,387 to Chuang, and 5,367,481 to Takase all of which are herein incorporated in whole, by reference.